home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Sprite 1984 - 1993
/
Sprite 1984 - 1993.iso
/
lib
/
tex
/
amstex.tex
< prev
next >
Wrap
Text File
|
1985-06-03
|
31KB
|
890 lines
% AMS-TEX VERSION 0.999999 - FOR USE WITH TEX VERSION 1.0
% COPYRIGHT (C) 1983 BY AMERICAN MATHEMATICAL SOCIETY
% NOTE 1, NOTE 2, ... REFER TO NOTES IN THE FILE AMSTEX.DOC
% SPECIAL CATCODES
\catcode`\@=13 % NOTE 1
\def@{\errmessage{AmS-TeX error: \string@ has no current use
(use \string\@\space for printed \string@ symbol)}}
\catcode`\@=11 % NOTE 2
\def\@{\char'100 }
\catcode`\~=13 % NOTE 3
% AMSTEX ERROR MESSAGES
\def\err@AmS#1{\errmessage{AmS-TeX error: #1}} % NOTE 4
% SOME BASIC CONTROL SEQUENCES USED IN OTHER DEFINITIONS
\def\eat@AmS#1{}
\long\def\comp@AmS#1#2{\def\@AmS{#1}\def\@@AmS{#2}\ifx
\@AmS\@@AmS\def\cresult@AmS{T}\else\def\cresult@AmS{F}\fi} % NOTE 5
\def\in@AmS#1#2{\def\intest@AmS##1#1##2{\comp@AmS##2\end@AmS\if T\cresult@AmS
\def\cresult@AmS{F}\def\in@@AmS{}\else
\def\cresult@AmS{T}\def\in@@AmS####1\end@AmS{}\fi\in@@AmS}%
\def\cresult@AmS{F}\intest@AmS#2#1\end@AmS} % NOTE 6
% BASIC MECHANICSMS TO ALLOW USER TO MAKE DEFINITIONS
\let\relax@AmS=\relax % NOTE 7
% CHANGES IN plain WHERE THERE IS \relax, THAT MUST NOW BE \relax@AmS
\def\magstep#1{\ifcase#1 \@m\or 1200\or 1440\or 1728\or 2074\or 2488\fi
\relax@AmS}
\def\iterate{\body\let\next\iterate \else\let\next\relax@AmS\fi \next}
\def\enskip{\hskip.5em\relax@AmS}
\def\strut{\relax@AmS\ifmmode\copy\strutbox\else\unhcopy\strutbox\fi}
\let\+=\relax@AmS
\def\sett@b{\ifx\next\+\let\next\relax@AmS
\def\next{\afterassignment\s@tt@b\let\next}%
\else\let\next\s@tcols\fi\next}
\def\s@tt@b{\let\next\relax@AmS\us@false\m@ketabbox}
\def\smash{\relax@AmS % \relax@AmS, in case this comes first in \halign
\ifmmode\def\next{\mathpalette\mathsm@sh}\else\let\next\makesm@sh
\fi\next}
% (END OF CHANGES TO plain)
\def\define#1{\expandafter\ifx\csname\expandafter\eat@AmS\string#1\endcsname
\relax@AmS\def\dresult@AmS{\def#1}\else
\err@AmS{\string#1\space is already defined}\def
\dresult@AmS{\def\garbage@AmS}\fi\dresult@AmS} % NOTE 8
\let\redefine=\def
\def\predefine#1#2{\let#1=#2}
% MACROS FOR DEFICIENT KEYBOARDS
\chardef\plus=`+
\chardef\equal=`=
\chardef\less=`<
\chardef\more=`>
% MACROS FOR HANDLING TEXT
\let\ic@AmS=\/
\def\/{\unskip\ic@AmS}
\def\Space@AmS.{\futurelet\Space@AmS\relax@AmS}
\Space@AmS. % % NOTE 10 (no NOTE 9)
\def~{\unskip\futurelet\tok@AmS\s@AmS}
\def\s@AmS{\ifx\tok@AmS\Space@AmS\def\next@AmS{}\else
\def\next@AmS{\ }\fi\penalty 9999 \next@AmS} % NOTE 11
\def\period{\unskip.\spacefactor3000 { }}
\def\srdr@AmS{\thinspace} % NOTE 12
\def\drsr@AmS{\kern .02778em }
\def\sldl@AmS{\kern .02778em}
\def\dlsl@AmS{\thinspace}
\def\lqtest@AmS#1{\comp@AmS{#1}`\if T\cresult@AmS\else\comp@AmS{#1}\lq\fi}
% NOTE 13
\def\qspace#1{\unskip
\lqtest@AmS{#1}\let\fresult@AmS=\cresult@AmS\if T\cresult@AmS
\def\qspace@AmS{\ifx\tok@AmS\Space@AmS\def\next@AmS{\dlsl@AmS`}\else
\def\next@AmS{\qspace@@AmS}\fi\next@AmS}\else
\def\qspace@AmS{\ifx\tok@AmS\Space@AmS\def\next@AmS{\drsr@AmS'}\else
\def\next@AmS{\qspace@@AmS}\fi\next@AmS}\fi
\futurelet\tok@AmS\qspace@AmS} % NOTE 14
\def\qspace@@AmS{\futurelet\tok@AmS\qspace@@@AmS}
\def\qspace@@@AmS{\if T\fresult@AmS \ifx\tok@AmS`\sldl@AmS`\else
\ifx\tok@AmS\lq\sldl@AmS`\else \dlsl@AmS`\fi \fi
\else \ifx\tok@AmS'\srdr@AmS'\else
\ifx\tok@AmS\rq\srdr@AmS'\else \drsr@AmS'\fi \fi
\fi}
\def\dash{\unskip\penalty0---}
\def\slash{\unskip/\penalty\exhyphenpenalty}
\def\{{\relax@AmS\ifmmode\delimiter"4266308 \else
$\delimiter"4266308 $\fi} % NOTE 16 (No NOTE 15)
\def\}{\relax@AmS\ifmmode\delimiter"5267309 \else$\delimiter"5267309 $\fi}
\def\AmSTeX{$\cal A$\kern-.1667em\lower.5ex\hbox{$\cal M$}\kern-.125em
$\cal S$-\TeX}
\def\smallvspace{\vskip\smallskipamount} % NOTE 17
\def\medvspace{\vskip\medskipamount}
\def\bigvspace{\vskip\bigskipamount}
\def\linebreak{\unskip\penalty-10000 } % NOTE 18
\def\pagebreak{\vadjust{\penalty-10000 }}
\def\newpage{\par\vfill\eject}
\def\newline{\ifvmode \err@AmS{There's no line here to break}\else
\hfil\penalty-10000\fi}
\def\topspace#1{\insert\topins{\penalty100 \splittopskip=0pt
\vbox to #1{}}}
\def\midspace#1{\setbox0=\vbox to #1{}\advance\dimen0 by \pagetotal
\ifdim\dimen0>\pagegoal\topspace{#1}\else\vadjust{\box0}\fi}
\long\def\comment{\begingroup
\catcode`\{=12 \catcode`\}=12 \catcode`\#= 12 \catcode`\^^M=12
\catcode`\%=12 \catcode`^^A=14
\comment@AmS}
\begingroup\catcode`^^A=14
\catcode`\^^M=12 ^^A
\long\gdef\comment@AmS#1^^M#2{\comp@AmS\endcomment{#2}\if T\cresult@AmS^^A
\def\comment@@AmS{\endgroup}\else^^A
\long\def\comment@@AmS{\comment@AmS#2}\fi\comment@@AmS}\endgroup % NOTE 19
% STYLE, SPACING AND ALTERNATE NAMES
\let\dsize=\displaystyle
\let\tsize=\textstyle
\let\ssize=\scriptstyle
\let\sssize=\scriptscriptstyle
\def\text#1{\hbox{\rm#1}}
\def\quad{\relax@AmS\ifmmode
\hbox{\hskip1em}\else\hskip1em\relax@AmS\fi} % NOTE 20
\def\qquad{\quad\quad}
\def\,{\relax@AmS\ifmmode\mskip\thinmuskip\else$\mskip\thinmuskip$\fi}
\def\;{\relax@AmS
\ifmmode\mskip\thickmuskip\else$\mskip\thickmuskip$\fi}
\def\stack#1#2{{#1\atop #2}}
\def\frac#1#2{{#1\over#2}}
\def\Frac#1#2{{\displaystyle{#1\over#2}}}
\def\thickfrac#1#2{{#1\above1pt #2}}
\def\binom#1#2{{#1\choose #2}}
\def\Binom#1#2{{\displaystyle{#1\choose #2}}}
\mathchardef\:="603A % NOTE 21
% BIG DELIMITERS
\def\big@AmS#1{{\hbox{$\left#1\vbox to\big@@AmS{}\right.\offspace@AmS$}}}
\def\Big@AmS#1{{\hbox{$\left#1\vbox to\Big@@AmS{}\right.\offspace@AmS$}}}
\def\bigg@AmS#1{{\hbox{$\left#1\vbox to\bigg@@AmS{}\right.\offspace@AmS$}}}
\def\Bigg@AmS#1{{\hbox{$\left#1\vbox to\Bigg@@AmS{}\right.\offspace@AmS$}}}
\def\offspace@AmS{\nulldelimiterspace0pt \mathsurround0pt }
\def\big@@AmS{8.5pt} % NOTE 24 (no NOTES 22, 23)
\def\Big@@AmS{11.5pt}
\def\bigg@@AmS{14.5pt}
\def\Bigg@@AmS{17.5pt}
\def\bigl{\mathopen\big@AmS}
\def\bigm{\mathrel\big@AmS}
\def\bigr{\mathclose\big@AmS}
\def\Bigl{\mathopen\Big@AmS}
\def\Bigm{\mathrel\Big@AmS}
\def\Bigr{\mathclose\Big@AmS}
\def\biggl{\mathopen\bigg@AmS}
\def\biggm{\mathrel\bigg@AMS}
\def\biggr{\mathclose\bigg@AmS}
\def\Biggl{\mathopen\Bigg@AmS}
\def\Biggm{\mathrel\Bigg@AmS}
\def\Biggr{\mathclose\Bigg@AmS}
% MAKING ' WORK FOR PRIMES
{\catcode`'=13 \gdef'{^\bgroup\prime\prime@AmS}}
\def\prime@AmS{\futurelet\tok@AmS\prime@@AmS}
\def\prime@@@AmS#1{\futurelet\tok@AmS\prime@@AmS}
\def\prime@@AmS{\ifx\tok@AmS'\def\next@AmS{\prime\prime@@@AmS}\else
\def\next@AmS{\egroup}\fi\next@AmS}
% SMASHES % NOTE 25
\def\topsmash{\relax@AmS\ifmmode\def\topsmash@AmS
{\mathpalette\mathtopsmash@AmS}\else
\let\topsmash@AmS=\maketopsmash@AmS\fi\topsmash@AmS}
\def\maketopsmash@AmS#1{\setbox0=\hbox{#1}\topsmash@@AmS}
\def\mathtopsmash@AmS#1#2{\setbox0=\hbox{$#1{#2}$}\topsmash@@AmS}
\def\topsmash@@AmS{\vbox to 0pt{\kern-\ht0\box0}}
\def\botsmash{\relax@AmS\ifmmode\def\botsmash@AmS
{\mathpalette\mathbotsmash@AmS}\else
\let\botsmash@AmS=\makebotsmash@AmS\fi\botsmash@AmS}
\def\makebotsmash@AmS#1{\setbox0=\hbox{#1}\botsmash@@AmS}
\def\mathbotsmash@AmS#1#2{\setbox0=\hbox{$#1{#2}$}\botsmash@@AmS}
\def\botsmash@@AmS{\vbox to \ht0{\box0\vss}}
% LARGE OPERATORS
\def\LimitsOnSums{\let\slimits@AmS=\displaylimits} % NOTE 26
\def\NoLimitsOnSums{\let\slimits@AmS=\nolimits}
\LimitsOnSums
\mathchardef\coprod@AmS"1360 \def\coprod{\coprod@AmS\slimits@AmS}
\mathchardef\bigvee@AmS"1357 \def\bigvee{\bigvee@AmS\slimits@AmS}
\mathchardef\bigwedge@AmS"1356 \def\bigwedge{\bigwedge@AmS\slimits@AmS}
\mathchardef\biguplus@AmS"1355 \def\biguplus{\biguplus@AmS\slimits@AmS}
\mathchardef\bigcap@AmS"1354 \def\bigcap{\bigcap@AmS\slimits@AmS}
\mathchardef\bigcup@AmS"1353 \def\bigcup{\bigcup@AmS\slimits@AmS}
\mathchardef\prod@AmS"1351 \def\prod{\prod@AmS\slimits@AmS}
\mathchardef\sum@AmS"1350 \def\sum{\sum@AmS\slimits@AmS}
\mathchardef\bigotimes@AmS"134E \def\bigotimes{\bigotimes@AmS\slimits@AmS}
\mathchardef\bigoplus@AmS"134C \def\bigoplus{\bigoplus@AmS\slimits@AmS}
\mathchardef\bigodot@AmS"134A \def\bigodot{\bigodot@AmS\slimits@AmS}
\mathchardef\bigsqcup@AmS"1346 \def\bigsqcup{\bigsqcup@AmS\slimits@AmS}
\def\LimitsOnInts{\let\ilimits@AmS=\displaylimits}
\def\NoLimitsOnInts{\let\ilimits@AmS=\nolimits}
\NoLimitsOnInts
\mathchardef\int@AmS"1352
\def\int{\gdef\intflag@AmS{T}\int@AmS\ilimits@AmS} % NOTE 27
\mathchardef\oint@AmS"1348 \def\oint{\gdef\intflag@AmS{T}\oint@AmS\ilimits@AmS}
\def\inttest@AmS#1{\def\intflag@AmS{F}\setbox0=\hbox{$#1$}}
\def\intic@AmS{\mathchoice{\hbox{\hskip5pt}}{\hbox
{\hskip4pt}}{\hbox{\hskip4pt}}{\hbox{\hskip4pt}}} % NOTE 28
\def\negintic@AmS{\mathchoice
{\hbox{\hskip-5pt}}{\hbox{\hskip-4pt}}{\hbox{\hskip-4pt}}{\hbox{\hskip-4pt}}}
\def\intkern@AmS{\mathchoice{\!\!\!}{\!\!}{\!\!}{\!\!}}
\def\intdots@AmS{\mathchoice{\cdots}{{\cdotp}\mkern 1.5mu
{\cdotp}\mkern 1.5mu{\cdotp}}{{\cdotp}\mkern 1mu{\cdotp}\mkern 1mu
{\cdotp}}{{\cdotp}\mkern 1mu{\cdotp}\mkern 1mu{\cdotp}}}
\newcount\intno@AmS % NOTE 29
\def\intii{\gdef\intflag@AmS{T}\intno@AmS=2\futurelet % NOTE 30
\tok@AmS\ints@AmS}
\def\intiii{\gdef\intflag@AmS{T}\intno@AmS=3\futurelet\tok@AmS\ints@AmS}
\def\intiv{\gdef\intflag@AmS{T}\intno@AmS=4\futurelet\tok@AmS\ints@AmS}
\def\intdotsint{\gdef\intflag@AmS{T}\intno@AmS=0\futurelet
\tok@AmS\ints@AmS}
\def\ints@AmS{\findlimits@AmS\ints@@AmS}
\def\findlimits@AmS{\def\ignoretoken@AmS{T}\ifx\tok@AmS\limits
\def\limits@AmS{T}\else\ifx\tok@AmS\nolimits\def\limits@AmS{F}\else
\def\ignoretoken@AmS{F}\ifx\ilimits@AmS\nolimits\def\limits@AmS{F}\else
\def\limits@AmS{T}\fi\fi\fi}
\def\multintlimits@AmS{\int@AmS\ifnum \intno@AmS=0\intdots@AmS
\else \intkern@AmS\fi
\ifnum\intno@AmS>2\int@AmS\intkern@AmS\fi
\ifnum\intno@AmS>3 \int@AmS\intkern@AmS\fi \int@AmS}
\def\multint@AmS{\int\ifnum \intno@AmS=0\intdots@AmS\else\intkern@AmS\fi
\ifnum\intno@AmS>2\int\intkern@AmS\fi
\ifnum\intno@AmS>3 \int\intkern@AmS\fi \int}
\def\ints@@AmS{\if F\ignoretoken@AmS\def\ints@@@AmS{\if
T\limits@AmS\negintic@AmS
\mathop{\intic@AmS\multintlimits@AmS}\limits\else
\multint@AmS\nolimits\fi}\else\def\ints@@@AmS{\if T\limits@AmS
\negintic@AmS\mathop{\intic@AmS\multintlimits@AmS}\limits\else
\multint@AmS\nolimits\fi\eat@AmS}\fi\ints@@@AmS}
\def\LimitsOnNames{\let\nlimits@AmS=\displaylimits}
\def\NoLimitsOnNames{\let\nlimits@AmS=\nolimits}
\LimitsOnNames
\def\operatorname#1{\mathop{\mathcode`'="7027 \mathcode`-="70
\rm #1}\nolimits} % NOTE 31
\def\operatornamewithlimits#1{\mathop{\mathcode`'="7027 \mathcode`-="702D
\rm #1}\nlimits@AmS}
\def\operator#1{\mathop{#1}\nolimits}
\def\operatorwithlimits#1{\mathop{#1}\displaylimits}
\def\limover{\mathop{\overline{\rm lim}}}
\def\limunder{\mathop{\underline{\vrule height 0pt depth .2ex width 0pt
\rm lim}}}
\def\liminj{\setbox0=\hbox{\rm lim}\mathop{\rm lim}
\limits_{\topsmash{\hbox to \wd0{\leftarrowfill}}}}
\def\limproj{\setbox0=\hbox{\rm lim}\mathop{\rm lim}
\limits_{\topsmash{\hbox to \wd0{\rightarrowfill}}}}
% SUBSIDIARY CONSIDERATIONS FOR LARGE OPERATORS -- BUFFER AND SHAVE
\newdimen\buffer@AmS
\buffer@AmS=\fontdimen13\tenex % NOTE 32
\newdimen\buffer
\buffer=\buffer@AmS
\def\changebuffer#1{\fontdimen13 \tenex=#1 \buffer=\fontdimen13 \tenex}
\def\resetbuffer{\fontdimen13 \tenex=\buffer@AmS \buffer=\buffer@AmS}
\def\shave#1{\mathop{\hbox{$\fontdimen13\tenex=0pt % NOTE 33
\displaystyle{#1}$}}\fontdimen13\tenex=1\buffer}
\def\topshave#1{\topsmash{#1}\vphantom{\shave{#1}}}
\def\botshave#1{\botsmash{#1}\vphantom{\shave{#1}}}
% ALIGNED UNITS
\def\Let@AmS{\relax@AmS\iffalse{\fi\let\\=\cr\iffalse}\fi} % NOTE 34
\def\align{\def\vspace##1{\noalign{\vskip ##1}} % NOTE 35
\,\vcenter\bgroup\Let@AmS\tabskip=0pt\openup3pt\mathsurround=0pt % NOTE 35.1
\halign\bgroup\strut
\hfil$\displaystyle{##}$&$\displaystyle{{}##}$\hfil\cr} % NOTES 36, 37
\def\endalign{\strut\crcr\egroup\egroup}
\def\bunch{\def\vspace##1{\noalign{\vskip ##1}}
\,\vcenter\bgroup\Let@AmS\tabskip=0pt\openup3pt\mathsurround=0pt
\halign\bgroup\strut\hfil$\displaystyle{##}$\hfil\cr}
\def\endbunch{\strut\crcr\egroup\egroup}
\def\matrix{\catcode`\^^I=4 \futurelet\tok@AmS\matrix@AmS} % NOTE 38
\def\matrix@AmS{\relax@AmS\iffalse{\fi \ifnum`}=0\fi\ifx\tok@AmS\format
\def\next@AmS{\expandafter\matrix@@AmS\eat@AmS}\else
\def\next@AmS{\matrix@@@AmS}\fi\next@AmS}
\def\matrix@@@AmS{
\ifnum`{=0\fi\iffalse}\fi\,\vcenter\bgroup\Let@AmS\tabskip=0pt
\normalbaselines\halign\bgroup $\strut\hfil##\hfil$&&\quad$\strut
\hfil##\hfil$\cr\strut\cr\noalign{\kern-\baselineskip}} % NOTE 39
\def\matrix@@AmS#1\\{
\def\premable@AmS{#1}\toks@{##}
\def\c{$\copy\strutbox\hfil\the\toks@\hfil$}\def\r
{$\copy\strutbox\hfil\the\toks@$}%
\def\l{$\copy\strutbox\the\toks@\hfil$}%
\setbox0=
\hbox{\xdef\Preamble@AmS{\premable@AmS}}
\def\vspace##1{\noalign{\vskip ##1}}\ifnum`{=0\fi\iffalse}\fi
\,\vcenter\bgroup\Let@AmS
\tabskip=0pt\normalbaselines\halign\bgroup\span\Preamble@AmS\cr
\mathstrut\cr\noalign{\kern-\baselineskip}}
% NOTE 40
\def\endmatrix{\crcr\mathstrut\cr\noalign{\kern-\baselineskip
}\egroup\egroup\,\catcode`\^^I=10 }
\def\matrixp{\left(\matrix}
\def\endmatrixp{\endmatrix\right)}
\def\matrixb{\left[\matrix}
\def\endmatrixb{\endmatrix\right]}
\def\matrixv{\left|\matrix}
\def\endmatrixv{\endmatrix\right|}
\def\matrixvv{\left\|\matrix}
\def\endmatrixvv{\endmatrix\right\|}
\def\spacedots#1for#2{\multispan#2\leaders\hbox{$\mkern#1mu.\mkern
#1mu$}\hfill}
\def\dotsfor#1{\spacedots 1.5 for #1} % NOTE 41
\def\enabletabs{\catcode`\^^I=4 \enabletabs@AmS}
\def\enabletabs@AmS#1\disabletabs{#1\catcode`\^^I=10 } % NOTE 42
\def\Enabletabs{\catcode`\^^I=4 }
\def\Disabletabs{\catcode`\^^I=10 }
\def\smallmatrix{\futurelet\tok@AmS\smallmatrix@AmS} % NOTE 43
\def\smallmatrix@AmS{\relax@AmS\iffalse{\fi \ifnum`}=0\fi\ifx\tok@AmS\format
\def\next@AmS{\expandafter\smallmatrix@@AmS\eat@AmS}\else
\def\next@AmS{\smallmatrix@@@AmS}\fi\next@AmS}
\def\smallmatrix@@@AmS{
\ifnum`{=0\fi\iffalse}\fi\,\vcenter\bgroup\Let@AmS\tabskip=0pt
\baselineskip8pt\lineskip1pt\lineskiplimit1pt
\halign\bgroup $\strut\hfil##\hfil$&&\;$\strut
\hfil##\hfil$\cr\strut\cr\noalign{\kern-\baselineskip}}
\def\smallmatrix@@AmS#1\\{
\def\premable@AmS{#1}\toks@{##}
\def\c{$\copy\strutbox\hfil\the\toks@\hfil$}\def\r
{$\copy\strutbox\hfil\the\toks@$}%
\def\l{$\copy\strutbox\the\toks@\hfil$}%
\hbox{\xdef\Preamble@AmS{\premable@AmS}}
\def\vspace##1{\noalign{\vskip ##1}}\ifnum`{=0\fi\iffalse}\fi
\,\vcenter\bgroup\Let@AmS
\tabskip=0pt\baselineskip8pt\lineskip1pt\lineskiplimit1pt
\halign\bgroup\span\Preamble@AmS\cr
\mathstrut\cr\noalign{\kern-\baselineskip}}
\def\endsmallmatrix{\crcr\mathstrut\cr\noalign{\kern-\baselineskip}
\egroup\egroup\,}
\def\cases{\left\{ \,\vcenter\bgroup\Let@AmS\normalbaselines\tabskip=0pt
\halign\bgroup$##\hfil$&\qquad$##\hfil$\cr} % NOTE 44
\def\endcases{\crcr\egroup\egroup\right.}
% TAGGING
\def\TagsOnLeft{\def\tagposition@AmS{L}}
\def\TagsOnRight{\def\tagposition@AmS{R}}
\def\TagsAsMath{\def\tagstyle@AmS{M}}
\def\TagsAsText{\def\tagstyle@AmS{T}}
\TagsOnLeft
\TagsAsText
\def\tag#1$${\if L\tagposition@AmS
\leqno\else\eqno\fi\def\atag@AmS{T}\maketag@AmS#1\tagend@AmS$$} % NOTE 45
\def\maketag@AmS{\futurelet\tok@AmS\maketag@@AmS} % NOTE 46
\def\maketag@@AmS{\ifx\tok@AmS[\def\next@AmS{\maketag@@@AmS}\else
\def\next@AmS{\maketag@@@@AmS}\fi\next@AmS}
\def\maketag@@@AmS[#1]#2\tagend@AmS{\if F\atag@AmS\else % NOTE 46.1
\if M\tagstyle@AmS\hbox{$#1$}\else\hbox{#1}\fi\fi
\gdef\atag@AmS{F}}
\def\maketag@@@@AmS#1\tagend@AmS{\if F\atag@AmS \else
\if T\autotag@AmS \setbox0=\hbox
{\if M\tagstyle@AmS\tagform@AmS{$#1$}\else\tagform@AmS{#1}\fi}
\ifdim\wd0=0pt \tagform@AmS{*}\else
\if M\tagstyle@AmS\tagform@AmS{$#1$}\else\tagform@AmS{#1}\fi
\fi\else
\if M\tagstyle@AmS\tagform@AmS{$#1$}\else\tagform@AmS{#1}\fi
\fi
\fi\gdef\atag@AmS{F}}
\def\tagform@AmS#1{\hbox{\rm(#1\unskip)}}
\def\AutoTag{\def\autotag@AmS{T}}
\def\NoAutoTag{\def\autotag@AmS{F}}
\NoAutoTag
\def\inaligntag@AmS{F} \def\inbunchtag@AmS{F} % NOTE 47
\def\CenteredTagsOnBrokens{\def\centerbroken@AmS{T}} % NOTE 48
\def\TopOrBottomTagsOnBrokens{\def\centerbroken@AmS{F}}
\TopOrBottomTagsOnBrokens
\def\broken{\global\setbox0=\vbox\bgroup\Let@AmS\tabskip=0pt
\if T\inaligntag@AmS\else
\if T\inbunchtag@AmS\else\openup3pt\fi\fi\mathsurround=0pt
\halign\bgroup\strut\hfil$\displaystyle{##}$&$\displaystyle{{}##}$\hfill
\cr}
% NOTE 49
\def\endbroken{\strut\crcr\egroup\egroup
\global\setbox7=\vbox{\unvbox0\setbox1=\lastbox
\hbox{\unhbox1\unskip\setbox2=\lastbox
\unskip\setbox3=\lastbox
\global\setbox4=\copy3
\box3\box2}}% % NOTE 50
\if L\tagposition@AmS
\if T\inaligntag@AmS
\if T\centerbroken@AmS\gdef\broken@AmS
{&\vcenter{\vbox{\moveleft\wd4\box7}}}% % NOTE 51
\else
\gdef\broken@AmS{&\vbox{\moveleft\wd4\vtop{\unvbox7}}}% % NOTE 52
\fi
\else % NOTE 53
\if T\centerbroken@AmS\gdef\broken@AmS
{\vcenter{\box7}}%
\else
\gdef\broken@AmS{\vtop{\unvbox7}}%
\fi
\fi
\else % NOTE 55 (no note 54)
\if T\inaligntag@AmS
\if T\centerbroken@AmS
\gdef\broken@AmS{&\vcenter{\vbox{\moveleft\wd4\box7}}}%
\else
\gdef\broken@AmS{&\vbox{\moveleft\wd4\box7}}%
\fi
\else
\if T\centerbroken@AmS
\gdef\broken@AmS{\vcenter{\box7}}%
\else
\gdef\broken@AmS{\box7}%
\fi
\fi
\fi\broken@AmS}
\def\cbroken{\xdef\centerbroken@@AmS{\centerbroken@AmS}%
\def\centerbroken@AmS{T}\broken} % NOTE 56
\def\endcbroken{\endbroken\def\centerbroken@AmS{\centerbroken@@AmS}}
\def\multline#1${\in@AmS\tag{#1}\if T\cresult@AmS
\def\multline@AmS{\def\atag@AmS{T}\getmltag@AmS#1$}\else
\def\multline@AmS{\def\atag@AmS{F}\setbox9=\hbox{}\multline@@AmS
\multline@@@AmS#1$}\fi\multline@AmS} % NOTE 57
\def\getmltag@AmS#1\tag#2${\setbox9=\hbox{\maketag@AmS#2\tagend@AmS}%
\multline@@AmS\multline@@@AmS#1$}
\def\multline@@AmS{\if L\tagposition@AmS
\def\lwidth@AmS{\hskip\wd9}\def\rwidth@AmS{\hskip0pt}\else
\def\lwidth@AmS{\hskip0pt}\def\rwidth@AmS{\hskip\wd9}\fi} % NOTE 58
\def\multline@@@AmS{\def\vspace##1{\noalign{\vskip ##1}}%
\def\shoveright##1{##1\hfilneg\rwidth@AmS\quad} % NOTE 59
\def\shoveleft##1{\setbox % NOTE 60
0=\hbox{$\displaystyle{}##1$}%
\setbox1=\hbox{$\displaystyle##1$}%
\ifdim\wd0=\wd1
\hfilneg\lwidth@AmS\quad##1\else
\setbox2=\hbox{\hskip\wd0\hskip-\wd1}%
\hfilneg\lwidth@AmS\quad\hskip-.5\wd2 ##1\fi}
\vbox\bgroup\Let@AmS\openup3pt\halign\bgroup\hbox to \the\displaywidth
{$\displaystyle\hfil{}##\hfil$}\cr\hfilneg\quad
\if L\tagposition@AmS\hskip-1em\copy9\quad\else\fi} % NOTE 61
\def\endmultline{\if R\tagposition@AmS\quad\box9 % NOTES 62, 63
\hskip-1em\else\fi\quad\hfilneg\crcr\egroup\egroup}
\def\aligntag#1$${\def\inaligntag@AmS{T}\openup3pt\mathsurround=0pt % NOTE 64
\Let@AmS
\def\tag{\gdef\atag@AmS{T}&} % NOTE 65
\def\vspace##1{\noalign{\vskip##1}} % NOTE 66
\def\xtext##1{\noalign{\hbox{##1}}} % NOTE 67
\def\break{\noalign{\penalty-10000 }} % NOTE 68
\def\nobreak{\noalign{\penalty 10000 }}
\def\allowbreak{\noalign{\penalty 0 }}
\def\goodbreak{\noalign{\penalty -500 }}
\gdef\atag@AmS{F}%
\if L\tagposition@AmS\laligntag@AmS#1$$\else
\raligntag@AmS#1$$\fi}
\def\raligntag@AmS#1$${\tabskip\centering
\halign to \the\displaywidth
{\hfil$\displaystyle{##}$\tabskip 0pt
&$\displaystyle{{}##}$\hfil\tabskip\centering
&\llap{\maketag@AmS##\tagend@AmS}\tabskip 0pt\cr\noalign{\vskip-
\lineskiplimit}#1\crcr}$$}
\def\laligntag@AmS#1$${\tabskip\centering % NOTE 69
\halign to \the\displaywidth
{\hfil$\displaystyle{##}$\tabskip0pt
&$\displaystyle{{}##}$\hfil\tabskip\centering
&\kern-\displaywidth\rlap{\maketag@AmS##\tagend@AmS}\tabskip
\the\displaywidth\cr\noalign{\vskip-\lineskiplimit}#1\crcr}$$}
\def\endaligntag{}
\def\bunchtag#1$${\def\inbunchtag@AmS{T}\openup3pt\mathsurround=0pt % NOTE 70
\Let@AmS
\def\tag{\gdef\atag@AmS{T}&}
\def\vspace##1{\noalign{\vskip##1}}
\def\xtext##1{\noalign{\hbox{##1}}}
\def\break{\noalign{\penalty-10000 }}
\def\nobreak{\noalign{\penalty 10000 }}
\def\allowbreak{\noalign{\penalty 0 }}
\def\goodbreak{\noalign{\penalty -500 }}
\if L\tagposition@AmS\lbunchtag@AmS#1$$\else
\rbunchtag@AmS#1$$\fi}
\def\rbunchtag@AmS#1$${\tabskip\centering
\halign to \displaywidth {$\hfil\displaystyle{##}\hfil$&
\llap{\maketag@AmS##\tagend@AmS}\tabskip 0pt\cr\noalign{\vskip-
\lineskiplimit}#1\crcr}$$}
\def\lbunchtag@AmS#1$${\tabskip\centering
\halign to \displaywidth
{$\hfil\displaystyle{##}\hfil$&\kern-
\displaywidth\rlap{\maketag@AmS##\tagend@AmS}\tabskip\the\displaywidth\cr
\noalign{\vskip-\lineskiplimit}#1\crcr}$$}
\def\endbunchtag{}
% MISCELLANEOUS
\def\hyphen{\mathchar"702D} % NOTE 71
\def\endash{\mathchar"707B}
\def\emdash{\mathchar"707C}
\def\rightquote{\mathchar"7027}
\def\rightquoteii{\mathchar"7022}
\def\leftquote{\mathchar"7060}
\def\leftquoteii{\mathchar"705C}
\def\mod#1{\allowbreak\mkern18mu{\rm mod}\,\,#1}
% CONTINUED FRACTIONS
\def\numeratorleft#1{#1\hskip 0pt plus 1filll\relax@AmS}
\def\numeratorright#1{\hskip 0pt plus 1filll\relax@AmS#1}
\def\numeratorcenter#1{\hskip 0pt plus 1filll\relax@AmS
#1\hskip 0pt plus 1filll\relax@AmS}
\def\cfrac@AmS#1,{\def\numerator@AmS{#1}\cfrac@@AmS*} % NOTE 72
\def\cfrac@@AmS#1;#2#3\cfend@AmS{\comp@AmS\cfmark@AmS{#2}\if T\cresult@AmS
\gdef\cfrac@@@AmS
{\expandafter\eat@AmS\numerator@AmS\strut\over\eat@AmS#1}\else
\comp@AmS;{#2}\if T\cresult@AmS\gdef\cfrac@@@AmS
{\expandafter\eat@AmS\numerator@AmS\strut\over\eat@AmS#1}\else
\gdef\cfrac@@@AmS{\if R\cftype@AmS\hfill\else\fi
\expandafter\eat@AmS\numerator@AmS\strut
\if L\cftype@AmS\hfill\else\fi\over
\eat@AmS#1\displaystyle {\cfrac@AmS*#2#3\cfend@AmS}}
\fi\fi\cfrac@@@AmS}
\def\cfrac#1{\def\cftype@AmS{C}\cfrac@AmS*#1;\cfmark@AmS\cfend@AmS}
\def\cfracl#1{\def\cftype@AmS{L}\cfrac@AmS*#1;\cfmark@AmS\cfend@AmS}
\def\cfracr#1{\def\cftype@AmS{R}\cfrac@AmS*#1;\cfmark@AmS\cfend@AmS}
\def\adorn#1#2#3{\mathsurround=0pt\setbox0=\hbox{$\displaystyle{#2}#3$}%
\setbox1=\hbox{$\displaystyle\vphantom{#2}#1{#2}$}%
\setbox2=\hbox{\hskip\wd0\hskip-\wd1}%
\hskip-\wd2\mathop{\hskip\wd2\vphantom{#2}#1{#2}#3}}
% ARROWS % NOTE 73
\def\overrightarrow{\mathpalette\overrightarrow@AmS}
\def\overrightarrow@AmS#1#2{\vbox{\halign{$##$\cr
#1{-}\mkern-6mu\cleaders\hbox{$#1\mkern-2mu{-}\mkern-2mu$}\hfill
\mkern-6mu{\to}\cr
\noalign{\kern -1pt\nointerlineskip}
\hfil#1#2\hfil\cr}}}
\let\overarrow=\overrightarrow
\def\overleftarrow{\mathpalette\overleftarrow@Ams}
\def\overleftarrow@Ams#1#2{\vbox{\halign{$##$\cr
#1{\leftarrow}\mkern-6mu\cleaders\hbox{$#1\mkern-2mu{-}\mkern-2mu$}\hfill
\mkern-6mu{-}\cr
\noalign{\kern -1pt\nointerlineskip}
\hfil#1#2\hfil\cr}}}
\def\overleftrightarrow{\mathpalette\overleftrightarrow@AmS}
\def\overleftrightarrow@AmS#1#2{\vbox{\halign{$##$\cr
#1{\leftarrow}\mkern-6mu\cleaders\hbox{$#1\mkern-2mu{-}\mkern-2mu$}\hfill
\mkern-6mu{\to}\cr
\noalign{\kern -1pt\nointerlineskip}
\hfil#1#2\hfil\cr}}}
\def\underrightarrow{\mathpalette\underrightarrow@AmS}
\def\underrightarrow@AmS#1#2{\vtop{\halign{$##$\cr
\hfil#1#2\hfil\cr
\noalign{\kern -1pt\nointerlineskip}
#1{-}\mkern-6mu\cleaders\hbox{$#1\mkern-2mu{-}\mkern-2mu$}\hfill
\mkern-6mu{\to}\cr}}}
\let\underarrow=\underrightarrow
\def\underleftarrow{\mathpalette\underleftarrow@AmS}
\def\underleftarrow@AmS#1#2{\vtop{\halign{$##$\cr
\hfil#1#2\hfil\cr
\noalign{\kern -1pt\nointerlineskip}
#1{\leftarrow}\mkern-6mu\cleaders\hbox{$#1\mkern-2mu{-}\mkern-2mu$}\hfill
\mkern-6mu{-}\cr}}}
\def\underleftrightarrow{\mathpalette\underleftrightarrow@AmS}
\def\underleftrightarrow@AmS#1#2{\vtop{\halign{$##$\cr
\hfil#1#2\hfil\cr
\noalign{\kern -1pt\nointerlineskip}
#1{\leftarrow}\mkern-6mu\cleaders\hbox{$#1\mkern-2mu{-}\mkern-2mu$}\hfill
\mkern-6mu{\to}\cr}}}
% DOTS
\def\dotsc{\mathinner{\ldotp\ldotp\ldotp}}
\def\dotsi{\mathinner{\cdotp\cdotp\cdotp}}
\def\dotsj{\mathinner{\ldotp\ldotp\ldotp}}
\def\dotsb{\mathinner{\cdotp\cdotp\cdotp}}
\def\binary@AmS#1{{\thinmuskip 0mu \medmuskip 1mu \thickmuskip 1mu % NOTE 74
\setbox0=\hbox{$#1{}{}{}{}{}{}{}{}{}$}\setbox1=\hbox
{${}#1{}{}{}{}{}{}{}{}{}$}\ifdim\wd1>\wd0\gdef\binary@@AmS{T}\else
\gdef\binary@@AmS{F}\fi}}
\def\dots{\relax@AmS\ifmmode\def\dots@AmS{\mdots@AmS}\else
\def\dots@AmS{\tdots@AmS}\fi\dots@AmS}
\def\mdots@AmS{\futurelet\tok@AmS\mdots@@AmS}
\def\mdots@@AmS{\def\thedots@AmS{\dotsj}%
\ifx\tok@AmS\bgroup\else
\ifx\tok@AmS\egroup\else
\ifx\tok@AmS$\else
\iffalse{\fi \ifx\tok@AmS\\ \iffalse}\fi\else % NOTE 75
\iffalse{\fi \ifx\tok@AmS& \iffalse}\fi\else
\ifx\tok@AmS\left\else
\ifx\tok@AmS\right\else
\ifx\tok@AmS,\def\thedots@AmS{\dotsc}\else
\inttest@AmS\tok@AmS\if T\intflag@AmS\def\thedots@AmS{\dotsi}\else
\binary@AmS\tok@AmS\if T\binary@@AmS\def\thedots@AmS{\dotsb}\else
\def\thedots@AmS{\dotsj}\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\thedots@AmS}
\def\tdots@AmS{\unskip\ \tdots@@AmS}
\def\tdots@@AmS{\futurelet\tok@AmS\tdots@@@AmS}
\def\tdots@@@AmS{$\ldots\,
\ifx\tok@AmS,$\else
\ifx\tok@AmS.\,$\else
\ifx\tok@AmS;\,$\else
\ifx\tok@AmS:\,$\else
\ifx\tok@AmS?\,$\else
\ifx\tok@AmS!\,$\else
$\ \fi\fi\fi\fi\fi\fi}
% SET NOTATION
\def\lset{\{\,}
\def\rset{\,\}}
\def\leftset#1\mid#2\rightset{\hbox{$\displaystyle
\left\{\,#1\vphantom{#1#2}\;\right|\;\left.
#2\vphantom{#1#2}\,\right\}\offspace@AmS$}}
% ACCENT SYMBOLS
\def\dotii#1{{\mathop{#1}\limits^{\vbox to -1.4pt{\kern-2pt
\hbox{\tenrm..}\vss}}}}
\def\dotiii#1{{\mathop{#1}\limits^{\vbox to -1.4pt{\kern-2pt
\hbox{\tenrm...}\vss}}}}
\def\dotiv#1{{\mathop{#1}\limits^{\vbox to -1.4pt{\kern-2pt
\hbox{\tenrm....}\vss}}}}
\def\vecsymbol{\rightarrow}
\def\barsymbol{-}
\def\tildesymbol{\mathchar"0218 }
\def\hatsymbol{{\mathchoice{\null}{\null}{\,\,\hbox{\lower 10pt\hbox
{$\widehat{\null}$}}}{\,\hbox{\lower 20pt\hbox
{$\hat{\null}$}}}}}
\def\dotsymbol{{\nonscript\,.}}
\def\dotiisymbol{{\nonscript\,\hbox{\tenrm..}}}
\def\dotiiisymbol{{\nonscript\,\hbox{\tenrm...}}}
\def\dotivsymbol{{\nonscript\,\hbox{\tenrm....}}}
\def\dotsymbol{{\nonscript\,\hbox{\tenrm.}}}
% OVERSET AND OVERBRACE
\def\overset#1\to#2{{\mathop{#2}^{#1}}}
\def\underset#1\to#2{{\mathop{#2}_{#1}}}
\def\oversetbrace#1\to#2{{\overbrace{#2}^{#1}}}
\def\undersetbrace#1\to#2{{\underbrace{#2}_{#1}}}
% ROOTS
\def\uproot#1{\gdef\theuproot{#1 pt}}
\def\theuproot{0 pt}
\def\therightroot{0mu}
\def\rightroot#1{\gdef\therightroot{-#1mu}}
\def\r@@t#1#2{\setbox\z@\hbox{$\m@th#1\sqrt{#2}$}%
\dimen@\ht\z@ \advance\dimen@-\dp\z@ \advance\dimen@\theuproot
\mskip5mu\raise.6\dimen@\copy\rootbox \mskip-10mu \mskip\therightroot
\box\z@\gdef\theuproot{0 pt}\gdef\therightroot{0mu}} % NOTE 76
% BOXED
\def\boxed#1{\setbox0=\hbox{$\displaystyle{#1}$}\hbox{\lower.4pt\hbox{\lower
3pt\hbox{\lower 1\dp0\hbox{\vbox{\hrule height .4pt \hbox{\vrule width
.4pt \hskip 3pt\vbox{\vskip 3pt\box0\vskip3pt}\hskip 3pt \vrule width
.4pt}\hrule height .4pt}}}}}}
% FORMATTING MACROS COMMON TO ALL STYLES
\def\documentstyle#1{\input #1.sty}
\newif\ifretry@AmS
\def\y@AmS{y } \def\y@@AmS{Y } \def\n@AmS{n } \def\n@@AmS{N }
\def\ask@AmS{\message
{Do you want output? (y or n, follow answer by return) }\loop
\read-1 to\answer@AmS
\ifx\answer@AmS\y@AmS\retry@AmSfalse\outputon
\else\ifx\answer@AmS\y@@AmS\retry@AmSfalse\outputon
\else\ifx\answer@AmS\n@AmS\retry@AmSfalse\outputoff
\else\ifx\answer@AmS\n@@AmS\retry@AmSfalse\outputoff
\else \retry@AmStrue\fi\fi\fi\fi
\ifretry@AmS\message{Type y or n, follow answer by return: }\repeat}
\def\outputoff{\global\output{\setbox0=\box255 \deadcycles=0}}
\def\outputon{\global\output{\output@AmS}}
\outputon
\catcode`\@=13